<!DOCTYPE html>
<html>

<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Sugar</title>
</head>

<body>
  <script>
    // 注意点：
    //  1. 创建 Promise 对象时必须传入函数
    //  2. Promise 对象的三个方法
    //  2. .then()      成功
    //  3. .catch()     失败
    //  4. .finally()   完成(不管成功失败)


    // const a1 = new Array();
    // const p1 = new Promise(() => { });
    // console.log(a1);
    // console.log(p1);


    /* 
      resolve 形参 用于对应 .then()  的 
      reject  形参 用于对应 .catch() 的
    */
    const p2 = new Promise((resolve, reject) => {
      console.log('Promise内部其他的业务逻辑');
      // 内部执行成功或失败
      if (true) {
        resolve(111);
      } else {
        reject(222);
      }
    });


    p2.then(res => {
      console.log('A. 测试then内部代码执行时机');
      console.log('A. then', res);
    });

    p2.catch(res => {
      console.log('B. 测试then内部代码执行时机');
      console.log('B. catch', res);
    });

  </script>
</body>

</html>